package com.hiultra.archive.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hiultra.common.annotation.Excel;
import com.hiultra.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 借阅信息数据对象 archive_borrow
 *
 * @author ls
 * @date 2024-07-19
 */
public class ArchiveBorrow extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 借阅人供电单位编号
     */
    @Excel(name = "借阅人供电单位编号", needMerge = true)
    private String borrowOrgNo;

    /**
     * 借阅任务编号
     */
    @Excel(name = "工单编号" , needMerge = true)
    private String borrowNo;

    /**
     * 借阅人类型 1内部人员 2外部人员
     */
    @Excel(name = "借阅人类型", dictType = "borrow_person_type", needMerge = true)
    private String borrowUserType;
    /**
     * 借阅人姓名
     */
    @Excel(name = "借阅人姓名", needMerge = true)
    private String borrowUserName;

    /**
     * 借阅人联系方式
     */
    @Excel(name = "借阅人联系方式", needMerge = true)
    private String borrowPhone;

    /**
     * 借阅类型
     */
    @Excel(name = "借阅类型", dictType = "borrow_type", needMerge = true)
    private String borrowType;

    /**
     * 借阅方式
     */
    @Excel(name = "利用方式", dictType = "borrow_method", needMerge = true)
    private String utilizationMethod;

    /**
     * 借阅天数
     */
    @Excel(name = "借阅天数", needMerge = true)
    private String borrowDay;

    /**
     * 借出日期 yyyyMMddHHmmss
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "借出日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss" , needMerge = true)
    private Date borrowTime;

    /**
     * 归还日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "归还日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", needMerge = true)
    private Date giveBackTime;
    /**
     * 档案盒号
     */
    @Excel(name = "档案盒号")
    private String boxNo;

    /**
     * 档案名称
     */
    @Excel(name = "档案名称")
    private String archiveName;

    /**
     * 档案类型
     */
    @Excel(name = "档案类型", dictType = "archive_type")
    private String archiveType;

    /**
     * 资料种类
     */
    @Excel(name = "资料种类", dictType = "means_type")
    private String meansType;
    /**
     * 密级
     */
    @Excel(name = "密级", dictType = "confd_lv")
    private String conLevel;

    /**
     * 介质类型
     */
    @Excel(name = "介质类型", dictType = "med_form")
    private String medForm;
    /**
     * 保管期限
     */
    @Excel(name = "保管期限", dictType = "keep_dur")
    private String saveDate;

    /**
     * 对象类型
     */
    @Excel(name = "对象类型", dictType = "arch_obj_type")
    private String archObjType;

    /**
     * 对象编号
     */
    @Excel(name = "对象编号")
    private String archObjNo;

    /**
     * 对象名称
     */
    @Excel(name = "对象名称")
    private String archObjName;

    private String giveBackStatus;

    /**
     * 档案室编号
     */
    private String roomNo;

    private String id;

    private String taskId;
    private String borrowArchId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "借阅实际时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualBorrowTime;

    private String rfid;
    /**
     * 库房编号
     */
    private String houseNo;

    /**
     * 档案区编号
     */
    private String areaNo;

    /**
     * 档案柜编号
     */
    private String cabinetNo;
    /**
     * 档案盒条码
     */
    private String boxBarCode;

    private String storLoc;

    /**
     * 库位号
     */
    private String houseLocationNo;

    /**
     * 用户编号
     */
    private String custNo;

    /**
     * 用户名称
     */
    private String custName;

    private String archName;

    /**
     * 1超期 2未超期
     */
    private String saveStatus;

    private String giveBackBy;
    private String borrowReason;
    private String operType;

    public String getOperType() {
        return operType;
    }

    public void setOperType(String operType) {
        this.operType = operType;
    }

    public String getBorrowReason() {
        return borrowReason;
    }

    public void setBorrowReason(String borrowReason) {
        this.borrowReason = borrowReason;
    }

    public String getGiveBackBy() {
        return giveBackBy;
    }

    public void setGiveBackBy(String giveBackBy) {
        this.giveBackBy = giveBackBy;
    }

    public String getGiveBackStatus() {
        return giveBackStatus;
    }

    public void setGiveBackStatus(String giveBackStatus) {
        this.giveBackStatus = giveBackStatus;
    }

    public String getBorrowOrgNo() {
        return borrowOrgNo;
    }

    public void setBorrowOrgNo(String borrowOrgNo) {
        this.borrowOrgNo = borrowOrgNo;
    }

    public String getBorrowNo() {
        return borrowNo;
    }

    public void setBorrowNo(String borrowNo) {
        this.borrowNo = borrowNo;
    }

    public String getBorrowUserType() {
        return borrowUserType;
    }

    public void setBorrowUserType(String borrowUserType) {
        this.borrowUserType = borrowUserType;
    }

    public String getBorrowUserName() {
        return borrowUserName;
    }

    public void setBorrowUserName(String borrowUserName) {
        this.borrowUserName = borrowUserName;
    }

    public String getBorrowPhone() {
        return borrowPhone;
    }

    public void setBorrowPhone(String borrowPhone) {
        this.borrowPhone = borrowPhone;
    }

    public String getBorrowType() {
        return borrowType;
    }

    public void setBorrowType(String borrowType) {
        this.borrowType = borrowType;
    }

    public String getUtilizationMethod() {
        return utilizationMethod;
    }

    public void setUtilizationMethod(String utilizationMethod) {
        this.utilizationMethod = utilizationMethod;
    }

    public String getBorrowDay() {
        return borrowDay;
    }

    public void setBorrowDay(String borrowDay) {
        this.borrowDay = borrowDay;
    }

    public Date getBorrowTime() {
        return borrowTime;
    }

    public void setBorrowTime(Date borrowTime) {
        this.borrowTime = borrowTime;
    }

    public Date getGiveBackTime() {
        return giveBackTime;
    }

    public void setGiveBackTime(Date giveBackTime) {
        this.giveBackTime = giveBackTime;
    }

    public String getArchiveName() {
        return archiveName;
    }

    public void setArchiveName(String archiveName) {
        this.archiveName = archiveName;
    }

    public String getArchiveType() {
        return archiveType;
    }

    public void setArchiveType(String archiveType) {
        this.archiveType = archiveType;
    }

    public String getMeansType() {
        return meansType;
    }

    public void setMeansType(String meansType) {
        this.meansType = meansType;
    }

    public String getConLevel() {
        return conLevel;
    }

    public void setConLevel(String conLevel) {
        this.conLevel = conLevel;
    }

    public String getMedForm() {
        return medForm;
    }

    public void setMedForm(String medForm) {
        this.medForm = medForm;
    }

    public String getSaveDate() {
        return saveDate;
    }

    public void setSaveDate(String saveDate) {
        this.saveDate = saveDate;
    }

    public String getArchObjType() {
        return archObjType;
    }

    public void setArchObjType(String archObjType) {
        this.archObjType = archObjType;
    }

    public String getArchObjNo() {
        return archObjNo;
    }

    public void setArchObjNo(String archObjNo) {
        this.archObjNo = archObjNo;
    }

    public String getArchObjName() {
        return archObjName;
    }

    public void setArchObjName(String archObjName) {
        this.archObjName = archObjName;
    }

    public String getRoomNo() {
        return roomNo;
    }

    public void setRoomNo(String roomNo) {
        this.roomNo = roomNo;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getBorrowArchId() {
        return borrowArchId;
    }

    public void setBorrowArchId(String borrowArchId) {
        this.borrowArchId = borrowArchId;
    }

    public Date getActualBorrowTime() {
        return actualBorrowTime;
    }

    public void setActualBorrowTime(Date actualBorrowTime) {
        this.actualBorrowTime = actualBorrowTime;
    }

    public String getBoxNo() {
        return boxNo;
    }

    public void setBoxNo(String boxNo) {
        this.boxNo = boxNo;
    }

    public String getRfid() {
        return rfid;
    }

    public void setRfid(String rfid) {
        this.rfid = rfid;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getAreaNo() {
        return areaNo;
    }

    public void setAreaNo(String areaNo) {
        this.areaNo = areaNo;
    }

    public String getCabinetNo() {
        return cabinetNo;
    }

    public void setCabinetNo(String cabinetNo) {
        this.cabinetNo = cabinetNo;
    }

    public String getBoxBarCode() {
        return boxBarCode;
    }

    public void setBoxBarCode(String boxBarCode) {
        this.boxBarCode = boxBarCode;
    }

    public String getStorLoc() {
        return storLoc;
    }

    public void setStorLoc(String storLoc) {
        this.storLoc = storLoc;
    }

    public String getHouseLocationNo() {
        return houseLocationNo;
    }

    public void setHouseLocationNo(String houseLocationNo) {
        this.houseLocationNo = houseLocationNo;
    }

    public String getCustNo() {
        return custNo;
    }

    public void setCustNo(String custNo) {
        this.custNo = custNo;
    }

    public String getCustName() {
        return custName;
    }

    public void setCustName(String custName) {
        this.custName = custName;
    }

    public String getArchName() {
        return archName;
    }

    public void setArchName(String archName) {
        this.archName = archName;
    }

    public String getSaveStatus() {
        return saveStatus;
    }

    public void setSaveStatus(String saveStatus) {
        this.saveStatus = saveStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("taskId", getTaskId())
                .append("boxNo", getBoxNo())
                .append("giveBackStatus", getGiveBackStatus())
                .append("borrowNo", getBorrowNo())
                .append("borrowUserType", getBorrowUserType())
                .append("borrowUserName", getBorrowUserName())
                .append("utilizationMethod", getUtilizationMethod())
                .append("borrowType", getBorrowType())
                .append("borrowTime", getBorrowTime())
                .append("cabinetNo", getAreaNo())
                .append("areaNo", getCabinetNo())
                .toString();
    }
}
